home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_1
/
newton_d
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
3KB
From: David Nurser <itb625nurser@qut.edu.au>
Subject: v04i031: newton_dn - Newton's method for finding roots v1.0, Part01/01
Newsgroups: comp.sources.hp48
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 2668451257 (verify with brik -cv)
Submitted-by: David Nurser <itb625nurser@qut.edu.au>
Posting-number: Volume 4, Issue 31
Archive-name: newton_dn/part01
BEGIN_DOC newton.doc
*********************************
NEWTON's METHOD FOR FINDING ROOTS
Accepts:
3: Equation (Variable = "X")
2: Accuracy (Eg. 4 ...decimal places)
1: Starting position
Returns :
3: Your Equation
2: "Xr F(Xr) F'(Xr)"
1: A matrix containg all values calculated (good for exams!)
This is a small and simple newton root finder program...It is reasonably fast,
and halts execution if it doesn't find the root to your accuracy after
20 calculations.
Provides the working so it can easily be copied (as occasionally required
in exams).
Have any problems...contact me at ITB625NURSER@redgum.qut.edu.au (Internet)
END_DOC
BEGIN_RPL newton.rpl
%%HP: T(3)A(D)F(.);
\<< 'X' PURGE \-> EQ
ACC START
\<< EQ DUP 'X' \.d 1
\-> EQ1 COUNT
\<< START 'X' STO
[[ 0 0 0 ]]
DO COUNT { 3
} + RDM COUNT 1 - 3
* 1 + X DUP 4 ROLLD
PUT COUNT 1 - 3 * 2
+ EQ \->NUM DUP 4
ROLLD PUT COUNT 1 -
3 * 3 + EQ1 \->NUM
DUP 4 ROLLD PUT 4
ROLLD / - 'COUNT'
INCR DROP
UNTIL EQ \->NUM
SWAP 'X' STO ABS
ACC ALOG INV <
COUNT 20 > OR
END COUNT 20
IF >
THEN
"NO SOLUTIONS FOUND"
ELSE
"Xr F(Xr) F'(Xr)"
SWAP
END
\>>
\>> 'X' PURGE
\>>
END_RPL
BEGIN_ASC newton.asc
%%HP: T(3)A(D)F(.);
"D9D20E16324563284E20108597632EFE021C432D6E20205415D6E2030143434D
6E20503545142545E1632D6E2020541578BF14563284E20108597632E7FE19C2
A21C432D6E2030541513D6E205034F455E445E1632D6E2050354514254545632
84E20108597632DCC028E9209400033920200001000030000000000000000000
0000000000000000000000000000000003C032D6E205034F455E44547A203F2A
2B213076BA1FD0D1D6E205034F455E4459C2A290DA13F2A2EEDA19C2A276BA18
4E20108578BF1803A20DCF1704D1D6E205034F455E4459C2A290DA13F2A2EEDA
1ED2A276BA1D6E202054154E5A178BF1803A20DCF1704D1D6E205034F455E445
9C2A290DA13F2A2EEDA13F2A276BA1D6E20305415134E5A178BF1803A20DCF17
04D1803A20DCF150FA190DA145632D6E205034F455E445976324F8028DBF1DE0
32D6E202054154E5A1DBBF14563284E20108597632DCC02F1AA1D6E203014343
4D3AB1872B1EBBE1D6E205034F455E445339201000000000000020D5CE1908E1
9B632D6E205034F455E4453392010000000000000203CE22D5CE1AFE22C2A209
2000E4F40235F4C4554594F4E4350264F455E4445BF22D9D20C2A20720008527
020264828527920202647282852792DBBF1B21305DF22EF532EF5324563284E2
0108597632EFE0293632B2130A778"
END_ASC
BYTES: #877Ah 503
BEGIN_UU newton.uue
begin 644 newton
M2%!(4#0X+46=+>!A(U0V@N0"`5AY-N+O(,$TTN8"`D51;2XP$#0TU.8"!5-4
M05)4'C;2Y@("15&'^T%E(T@N$("59R-^[Y$L*L$TTN8"`T51,6TN4##T5.5$
MY6$C;2Y0,$45)$5%92-(+A"`E6<CS0R"G@))`#"3`@(`$````P``````````
M```````````````````````P#"-M+E`P]%3E1$6G`O.BLA(#9ZOQ#1UM+E`P
M]%3E1)4L*@FM,2\J[JV1+"IGJX'D`@%8A_N!,"K0_'%`'6TN4##T5.5$E2PJ
M":TQ+RKNK>$M*F>KT>8"`D51Y*5QN!\(HP+-'P?4T>8"!4-/54Y4R:*2T!KS
MHN+>&O.B<K8:;2XP4!050UX:A_N!,"K0_'%`'0BC`LT?!:^1T!I4-M+F`@5#
M3U5.5'DV0H\@V/O1#B-M+B!0%$5>&KW[064C2"X0@)5G(\T,\J$:;2XP$#0T
MU*,;>++ANQYM+E`P]%3E1#63`@$````````"7>R1@!ZY-M+F`@5#3U5.5#,I
M$````````"`P[")=[*'O(BPJD`(`3D\@4T],551)3TY3($9/54Y$M2_2V0(L
M*G`"`%AR("!&*%AR*2`@1B<H6'(IO?NQ$@/5+^)?(_XU0F4C2"X0@)5G(_X.
&DF,C*S$`
`
end
END_UU